package Exception;


/**
 * Exception中有一个特殊的子类异常RuntimeException运行时异常
 * 如果在函数内抛出该异常,函数上可以不用声明,编译一样通过
 * 如果在函数上声明了该异常,调用者可以不用进行处理,编译一样通过
 *
 * 自定义异常时:如果该异常的发生,无法在继续进行运算,就让自定义异常继承RuntimeException
 */
class ExceptionDemo04 {
    public static void main(String[] args) {
        Demo d = new Demo();
        int x = d.div(4, 0);

        System.out.println("x=" + x);
        System.out.println("over");

        Person p = new Person();
        p.checkName("分界线");
    }


}

class FuShuException extends RuntimeException {
    FuShuException(String msg) {
        super(msg);
    }
}

class Demo {
    int div(int a, int b)  {
        if(b==0){
            throw new  ArithmeticException("被零除啦");
        }
        if (b < 0) {
            throw new FuShuException("出现了除数为负数了");
        }
        return a / b;
    }
}


class Person{
    public void checkName(String name) {
        if ("分界线".equals(name)) {
            System.out.println("yes");
        }else
            System.out.println("no");
    }
}


